package com.cwn.wizbank.config;

import java.util.regex.Pattern;

public class IPAddressUtils {
    // 定义内网 IP 的正则表达式
    private static final String INTERNAL_IP_REGEX = "^(10\\.|172\\.(1[6-9]|2[0-9]|3[0-1])\\.|192\\.168\\.).*";
    private static final Pattern INTERNAL_IP_PATTERN = Pattern.compile(INTERNAL_IP_REGEX);

    /**
     * 判断给定的 IP 地址是否为内网 IP
     * @param ip 要判断的 IP 地址
     * @return 如果是内网 IP 返回 true，否则返回 false
     */
    public static boolean isInternalIP(String ip) {
        return INTERNAL_IP_PATTERN.matcher(ip).matches();
    }

    public static void main(String[] args) {
        String internalIp = "192.168.1.100";
        String publicIp = "202.102.192.68";

        System.out.println(internalIp + " 是否为内网 IP: " + isInternalIP(internalIp));
        System.out.println(publicIp + " 是否为内网 IP: " + isInternalIP(publicIp));
    }
}